# 1、编写自定义函数，可以输出自己的名字即可。
# def haha():
#     print("Litong")
# haha()
# def getname(name):
#     print("我的名字是{}".format(name) )
# getname("李彤")

# 2、编写自定义函数，完成一个简单的减法运算函数。

# def hh():
#     print(4-5)
# hh()
#
# def hh(a,b):
#     x=a[0]-b[1]
#     print(x)
# a =[45,98]
# b =[67,87]
# hh(a,b)



# 3、写函数，接收5个数字，求这些参数数字的和
# def sum():
#     print(1+2+3+4+5+7)
# sum()
# print(sum((3,4)))
# def hh():
#     print(4+5)
# hh()
# def sum():
#     print(1+2)
# sum()

# def sum():
#     print(1+2)
# sum()

# def sum(*a):
#     sum = 0
#     for i in a[:5]:
#         sum+=i
#         return sum
# a=(1,3,5,67,8,0)
# print(a)











# 4、写函数，字符串最后一个单词的长度
# c = "haha","likur"
# def hh(c):
#     print(len(c[1]))
# hh(c)

# d="gyodcuhsgsh","gvwgygwishgfdy"
# def str(d):
#     print(len(d[1]))
# str(d)








# 5、写函数，判断用户传入的对象（字符串、列表、元组）的元素是否为空
# def hh(a):
#     if isinstance(a,str):
#         if a:
#             return "返回的是{}字符串不是空"
#         else:
#             return "返回的shi{}字符串,为空"
#     elif isinstance(a,list):
#             if a:
#                 return "返回的是{}列表，不是空"
#             else:
#                 return "返回的是{}列表,为空"
#     elif isinstance(a,tuple):
#         if a:
#             return "返回的是{}元组,不是空"
#         else:
#             return"返回的是{}元组,为空"
#
# print(hh((1,2)))
# print(hh([]))
# print(hh(""))


# 6、写函数，检查传入字典的每一个value长度，如果大于2，那么仅保留前两个长度的内容， 并将新内容返回给调用者
# def hh(dict):
#     list=[]
#     value=0
#     for i in dict.values():
#         if len(str(i)) >2:
#             list.append(i[:2])
#         else:
#             list.append(i)
#     return list
# dict={"name":"huaggshj"}
# print(hh(dict))



# 7、写函数，接收两个数字参数，返回比较大的数字。
# a=7
# b=8
# def hh(a,b):
#     if b>a:
#         print(b)
#         return b
# hh(a,b)

# def max(a,b):
#     if a>b:
#         return a
#     else:
#         return b
# print(max(3, 4))
# print(max(7, 2))


# 8、定义函数 moreThan(num)，判断输入的数字是否大于1500，打印输出"大于1500"或"不大于1500"

# def moreThan(num):
#     if num >1500:
#         return"大于1500"
#     elif num<=1500:
#         return"不大于1500"
# print(moreThan(1809))
# print(moreThan(1309))

# num = int(input("请输入您的数字"))
# def moreThan(num):
#     if num > 1500:
#         print("大于1500")
#     elif num <= 1500:
#             print("不大于1500")
# moreThan(num)

# def moreThan(num):
#     if num >1500:
#         return "大于1500"
#     elif num<=1500:
#         return "不大于1500"
# print(moreThan(1689))
# print(moreThan(1342))











# 9、定义函数，max(x,y,z)，返回求三个整数的最大值
# def max(x,y,z):
#     if x>y>z:
#         return "最大数是{}".format(x)
#     elif y>x>z:
#         return "最大数是{}".format(y)
#     elif z>y>x:
#         return "最大数是{}".format(z)
# print(max(8,10,2))
# print(max(18,10,2))
# print(max(8,10,32))

# def max(x,y,z):
#     max =x
#     if max<y:
#         max =y
#     if max<z:
#         max =z
#     return max
# print(max(8,10,2))
# print(max(18,10,2))
# print(max(8,10,32))



# 10、定义函数 generateNum( ) 返回从0~9的十个数字中随机取出4个不重复的数字组成一个字符串

# def generateNum():
#     list =[0,1,2,3,4,5,6,7,8,9,10]
#     list1 =[]
#     str_ = ""
#     import random
#     for i in range(10):
#         random_num = random.choice(list)
#         if random_num not in list1:
#             list1.append(random_num)
#         list1.reverse()
#         for i in list1:
#             str_+=str(i)
#     return str_[:4]
# print(generateNum())


















# 12、定义函数，有一个形参，传入的是列表，数组大小不超过 100个，
# 数组中的每个元素值不允许超过 100，但是可以等于100，
# 如果列表大小超过了100个截取到第100个为止，要求返回的列表格式：
def list1(listx):
    list = []
    if len(listx) >100:
            list=listx[:100]
    else:
            list=listx
            for i in listx:
                if i <=100:
                    list.append(i)
                list.sort(reverse=True)
            list=list(set(list))
    return list
listx =[1,4,8.89,101,100,890]
print(listx)








# 13、水仙花数：个位、十位、百位的立方加在一起等于数的本身，如果是水仙花数，则返回True，不是则返回False
# 解题思路
# def shuixian(num):
#     if int(str(num)[0])*int(str(num[0])*int(str(num[0])+int(str(num[1])*int(str(num[1])* int(str(num[1])+int(str(num[2]) \
#                                                                                                              *int(str(num[1])*int(str(num[1]) == num:
#         return True
# print(shuixian(153))







# 14、写函数,返回一个扑克牌列表,里面有52项,每一项都是一个tuple
# 例如:[(“红心”,“2”),(“梅花”,“2”)…(“方块”,“A”)]
# ["黑桃", "红桃", "方块", "草花"],["J", "Q", "K", "A"]

# def hh():
#     list1 =[i for i in range(2,11)]
#     list2 =["J", "Q", "K", "A"]
#     list1.extend["黑桃", "红桃", "方块", "草花"]
#     list4 =[]
#     for i in list1:
#         for j in list2:
#             list4.append((i,j))
#     return list4
# print(hh())

# def puke():
#     list1 = ["黑桃", "红桃", "方块", "草花"] # 卡牌属性
#     list3 = [i for i in range(2,11)] # 卡牌
#     list3.extend(["J", "Q", "K", "A"])
#     new_list = []
#     for i in list1:
#         for k in list3:
#             new_list.append((i, k))
#     return new_list
# print(puke())




















# 15、找出传入的列表或元组的奇数位对应的元素，并返回一个新的列表
# 举例：
# 原列表 [1,2,3,4,5,6,7]
# 新的列表 [1,3,5,7]
# def list(x):
#     list1=[]
#     for i in range(len(x)):
#         if i %2==0:
#             list1.append(x[i])
#     return list1
# print(list([1,2,3,4,5,6,7]))











